# coding:utf-8
"""
Author: 11203
Date:  16:20
Name: default
"""

# 默认配置：
# 1.Flask-SQLAlchemy 连接数据库
class Config:
    HOSTNAME='43.143.236.140'
    PORT='9001'
    DATABASE='dongbaoshop'
    USERNAME='admin'
    PASSWORD='1qaz2wsx3edc*()'

    DB_URI='mysql+pymysql://{username}:{password}@{host}:{port}/{database}?charset=utf8mb4'.format(
        username=USERNAME,
        password=PASSWORD,
        host=HOSTNAME,
        port=PORT,
        database=DATABASE
    )

    SQLALCHEMY_DATABASE_URI=DB_URI
    # 不需要跟踪数据库中的相关变化，防止表结构、数据变化后出现代码BUG
    SQLALCHEMY_TRACK_MODIFICATIONS=False

# 开发环境下的配置信息
class DevelopementConfig(Config):
    # 开发环境需要调试
    DEBUG=True
    # 开发环境需要打印SQL进行追踪SQL的BUG
    SQLALCHEMY_ECHO=True

    # --------- 日志配置 ---------
    # 默认日志级别：debug < info < warning < error < critical
    LOGGING_LEVEL='DEBUG'
    # 日志存放目录
    LOGGING_FILE_DIR='logs/'
    # 日志文件最大的大小
    LOGGING_FILE_MAX_BYTES= 300 * 1024 * 1024
    # 日志的备份数（设置为10个文件，超过是个文件会被清理）
    LOGGING_FILE_BACKUP=10

    # -------- flask-limiter限流器配置（配合flask-redis模块[需要安装下]） --------
    # reids://你的密码@redis地址:端口/库索引
    # 限制器存储位置（不设置默认为内存）
    RATELIMIT_STORAGE_URI = 'redis://:1qaz2wsx3edc%2A%28%29@43.143.236.140:9002/0'
    # 限制策略
    RATELIMIT_STRATEGY = 'moving-window'
    # -------- redis数据库的链接 --------
    REDIS_URL='redis://:1qaz2wsx3edc%2A%28%29@43.143.236.140:9002/1'

# 生成环境下的配置信息
class ProductConfig(Config):
    DEBUG = False
    SQLALCHEMY_ECHO = False

    # --------- 日志配置 ---------
    LOGGING_LEVEL = 'INFO'
    LOGGING_FILE_DIR = 'logs/'
    LOGGING_FILE_MAX_BYTES = 300 * 1024 * 1024
    LOGGING_FILE_BACKUP = 18

    # -------- flask-limiter限流器配置 --------
    # reids://你的密码@redis地址:端口/库索引
    # 限制器存储位置（不设置默认为内存）
    RATELIMIT_STORAGE_URL = 'redis://:1qaz2wsx3edc%2A%28%29@43.143.236.140:9002/0'
    # 限制策略
    RATELIMIT_STRATEGY = 'moving-window'
    # -------- redis数据库的链接 --------
    REDIS_URL = 'redis://:1qaz2wsx3edc%2A%28%29@43.143.236.140:9002/1'
